home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / src / boot / netBoot.new / dev / am9513.h < prev    next >
C/C++ Source or Header  |  1990-12-19  |  2KB  |  49 lines

  1.  
  2. /*    @(#)am9513.h 1.1 86/09/27 SMI    */
  3.  
  4. /*
  5.  * Copyright (c) 1986 by Sun Microsystems, Inc.
  6.  */
  7.  
  8. /*
  9.  * am9513.h
  10.  *
  11.  * AMD Am9513 Timer definitions
  12.  */
  13.  
  14. struct am9513_device {
  15.     unsigned short    clk_data;    /* Registers read/written here */
  16.     unsigned short    clk_cmd;    /* Commands written here */
  17. };
  18.  
  19. /*
  20.  * Commands.  (partial list)
  21.  */
  22. #define    CLK_RESET    0xFFFF        /* Master reset of chip */
  23. #define    CLK_16BIT    0xFFEF        /* Use 16-bit, not 8-bit, bus */
  24. #define    CLK_ARM        0xFF20        /* Arm (start) one or more counters */
  25. #define    CLK_LOAD    0xFF40        /* Load (from Load reg) one or more */
  26. #define    CLK_LOAD_ARM    0xFF60        /* Load and arm one or more */
  27. #define    CLK_DISARM_SAVE    0xFF80        /* Disarm and save one or more */
  28. #define    CLK_CLEAR    0xFFE0        /* Clear the output of one counter */
  29. #define    CLK_ACC_MODE    0xFF00        /* Access Mode reg of one counter */
  30. #define    CLK_ACC_LOAD    0xFF08        /* Access Load reg of one counter */
  31.  
  32. #define    CLK_ALL        0x001F        /* Perform op on all counters */
  33. #define    CLK_BIT(c)    (1<<((c)-1))    /* Turn counter # into bit mask */
  34. #define    CLK_LAST    5        /* Last timer number in chip */
  35.  
  36. /*
  37.  * Mode Register settings, per counter.  (partial list)
  38.  */
  39. #define    CLKM_DEFAULT    0x0B00        /* Default setting at power-up/reset */
  40. #define    CLKM_DIV_BY_1    0x0B00        /* Don't pre-divide input freq */
  41. #define    CLKM_DIV_BY_16    0x0C00        /* Pre-divide input freq by 16 */
  42. #define    CLKM_REPEAT    0x0020        /* When it runs out, start over */
  43. #define    CLKM_TOGGLE    0x0002        /* When it runs out, toggle output */
  44.  
  45. /*
  46.  * Status register bits, partial list.
  47.  */
  48. #define CLKS_BIT(c)    (1<<(c))    /* Turn counter # into status mask */
  49.